package com.ship.boats.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ship.boats.domain.IhsShipBase;
import com.ship.boats.domain.SpBoatsArchivesExtend;
import com.ship.boats.domain.vo.QueryBoatsMessageInfo;
import com.ship.boats.domain.vo.QueryBoatsSisterInfo;
import com.ship.common.datasource.annotation.Slave;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface BoatsArchivesMapper extends BaseMapper<IhsShipBase> {
    @Slave
    List<QueryBoatsMessageInfo> queryShipBaseAll();

    @Slave
    List<String> queryMmsiList();

    @Slave
    List<String> queryImoList();

    @Slave
    List<String> queryShipTypeGroup();

    @Slave
    int createIhsShipBase(IhsShipBase ihsShipBase);

    @Slave
    IhsShipBase queryShipByName(@Param("shipName") String shipName,@Param("imo") String imo);

    @Slave
    int updateShipBase(IhsShipBase shipBase);

    @Slave
    int deleteShipBase(String imo);

    @Slave
    IhsShipBase queryShipBaseByImo(String imo);

    @Slave
    List<QueryBoatsSisterInfo> queryBoatsSisterList(@Param("imoList") List<String> imoList);

    @Slave
    Integer countTotal();

    @Slave
    List<SpBoatsArchivesExtend> queryShipTypeGroupAll();

}
